#ifndef __CONTROL_H
#define __CONTROL_H	

#include "stm32f10x.h"
#include "PWM.h"
#include "adc.h"
#include "sys.h"

#define MINL  1.712
#define MAXL  3.300
#define MINM  1.445 
#define MAXM  3.300
#define MINR  0.926 
#define MAXR  3.300
#define MIDAT 50 
#define ERROR 30

#define LEFT_TURN		GPIO_WriteBit(GPIOB, GPIO_Pin_0, 0);	\
						GPIO_WriteBit(GPIOB, GPIO_Pin_1, 1)
					
#define LEFT_STOP		GPIO_WriteBit(GPIOB, GPIO_Pin_0, 0);	\
						GPIO_WriteBit(GPIOB, GPIO_Pin_1, 0)

#define LEFT_REVERSE	GPIO_WriteBit(GPIOB, GPIO_Pin_0, 1);	\
						GPIO_WriteBit(GPIOB, GPIO_Pin_1, 0)

#define RIGHT_TURN		GPIO_WriteBit(GPIOB, GPIO_Pin_5, 0);	\
						GPIO_WriteBit(GPIOB, GPIO_Pin_6, 1)

#define RIGHT_STOP		GPIO_WriteBit(GPIOB, GPIO_Pin_5, 0);	\
						GPIO_WriteBit(GPIOB, GPIO_Pin_6, 0)

#define RIGHT_REVERSE	GPIO_WriteBit(GPIOB, GPIO_Pin_5, 1);	\
						GPIO_WriteBit(GPIOB, GPIO_Pin_6, 0)


void Io_Init(void);
float* get_adc_normalized(void);
void Control(float* adc_normalized);


#endif 
